package com.sky.mapper;

import com.sky.entity.ChatRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * AI对话记录Mapper接口
 * 使用MyBatis实现数据持久化操作
 */
@Mapper
public interface ChatRecordMapper {

    /**
     * 插入对话记录
     * @param chatRecord 对话记录实体
     * @return 影响的行数
     */
    int insert(ChatRecord chatRecord);

    /**
     * 根据用户ID查询对话记录（分页）
     * @param userId 用户ID
     * @param offset 偏移量
     * @param pageSize 每页记录数
     * @return 对话记录列表
     */
    @Select("SELECT * FROM chat_record WHERE user_id = #{userId} AND is_deleted = 0 " +
            "ORDER BY create_time DESC LIMIT #{offset}, #{pageSize}")
    List<ChatRecord> selectByUserId(@Param("userId") Long userId,
                                    @Param("offset") Integer offset,
                                    @Param("pageSize") Integer pageSize);
}